In custom software development projects, in general, the same type of software is being built for different customers. The deliverables are similar because they address the same market (e.g., telecommunications, banking, and so on) or have similar functions, or both. However, most organizations do not take advantage of this similarity and conduct each project from scratch, leading to lesser margins and lower quality.
Software reuse is a significant issue for a large part of the information technology (IT) business involved with the development of custom software solutions. Most organizations build software solutions for focused markets, also called business lines, verticals or domains, and they seek to grow their expertise with every project.